home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Periodicals / develop / develop 3 code / Surf's Up! / Interfaces / PInterfaces / FTIntf.p < prev    next >
Encoding:
Text File  |  1989-11-17  |  4.3 KB  |  174 lines  |  [TEXT/MPS ]

  1. {
  2.     FTIntf.p
  3.     Pascal Interface to the File Transfer Manager
  4.     
  5.     Copyright © Apple Computer, Inc. 1988,1989
  6.     All rights reserved
  7. }
  8. {$IFC UNDEFINED UsingIncludes}
  9. {$SETC UsingIncludes := 0}
  10. {$ENDC}
  11.  
  12. {$IFC NOT UsingIncludes}
  13.     UNIT FTIntf;
  14.     INTERFACE
  15. {$ENDC}
  16.  
  17. {$IFC UNDEFINED UsingFTIntf}
  18. {$SETC UsingFTIntf := 1}
  19.  
  20. {$I+}
  21. {$SETC FTIntfIncludes := UsingIncludes}
  22. {$SETC UsingIncludes := 1}
  23. {$IFC UNDEFINED UsingPackages}
  24. {$I Packages.p}
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED UsingCTBUtils}
  28. {$I CTBUtils.p}
  29. {$ENDC}
  30.  
  31. {$SETC UsingIncludes := FTIntfIncludes}
  32.  
  33. CONST
  34. { current file transfer manager version }
  35.     curFTVersion        =    1;
  36.     
  37. { FTErr }
  38.     ftGenericError        =    -1;
  39.     ftNoErr                =    0;
  40.      ftRejected            =    1;
  41.      ftFailed            =    2;
  42.      ftTimeOut            =    3;
  43.     ftTooManyRetry        =    4;
  44.     ftNotEnoughDSpace    =    5;
  45.     ftRemoteCancel        =    6;
  46.     ftWrongFormat        =    7;
  47.     ftNoTools            =    8;
  48.     ftUserCancel        =    9;
  49.     ftNotSupported        =    10;
  50.     
  51. { FTFlags }
  52.     ftIsFTMode            =    $00000001;
  53.     ftNoMenus            =    $00000002;
  54.     ftQuiet                =    $00000004;
  55.     ftSucc                =    $00000080;
  56.     
  57. { FTAttributes }
  58.     ftSameCircuit        =    $0001;
  59.     ftSendDisable         =    $0002;
  60.     ftReceiveDisable    =    $0004;
  61.     ftTextOnly            =    $0008;
  62.     
  63. { FTDirection }
  64.     ftReceiving            =    0;
  65.     ftTransmitting        =    1;
  66.     ftFullDuplex        =    2;
  67.     
  68. TYPE
  69.     FTErr                =    OSErr;
  70.     FTFlags                =     LONGINT;
  71.     FTAttributes        =    INTEGER;
  72.     FTDirection            =    INTEGER;
  73.                 
  74.     FTHandle            =    ^FTPtr;
  75.     FTPtr                =    ^FTRecord;
  76.     FTRecord            =    PACKED RECORD
  77.         procID            :    INTEGER;
  78.         
  79.         flags            :    FTFlags;
  80.         errCode            :    FTErr;
  81.         
  82.         refCon            :    LONGINT;
  83.         userData        :    LONGINT;
  84.     
  85.         defProc            :    ProcPtr;
  86.         
  87.         config            :    Ptr;
  88.         oldConfig         :    Ptr;
  89.  
  90.         environsProc    :    ProcPtr;
  91.         reserved1        :    LONGINT;        
  92.         reserved2        :    LONGINT;        
  93.         
  94.         ftPrivate        :    Ptr;
  95.     
  96.         sendProc        :      ProcPtr;
  97.         recvProc        :    ProcPtr;
  98.         writeProc        :    ProcPtr;
  99.         readProc        :    ProcPtr;
  100.  
  101.         owner            :    WindowPtr;
  102.  
  103.         direction        :    FTDirection;
  104.         theReply        :     SFReply;
  105.  
  106.         writePtr        :    LONGINT;
  107.         readPtr            :    LONGINT;
  108.         theBuf            :    ^char;
  109.         bufSize            :    LONGINT;
  110.         autoRec            :    Str255;
  111.         attributes        :    FTAttributes;
  112.     END;
  113.     
  114. FUNCTION     InitFT: FTErr;
  115. FUNCTION     FTGetVersion(hFT : FTHandle) : Handle;
  116. FUNCTION     FTGetFTVersion : INTEGER;
  117.  
  118. FUNCTION     FTNew(procID: INTEGER; flags: FTFlags; 
  119.                 sendProc: ProcPtr; recvProc: ProcPtr;
  120.                 readProc: ProcPtr; writeProc: ProcPtr; environsProc: ProcPtr;
  121.                 owner: WindowPtr; refCon: LONGINT; userData: LONGINT) : FTHandle;
  122.                 
  123. PROCEDURE     FTDispose(hFT: FTHandle);
  124.  
  125. FUNCTION     FTStart(hFT: FTHandle; direction: FTDirection; fileInfo: SFReply) : FTErr;
  126. FUNCTION     FTAbort(hFT: FTHandle) : FTErr;
  127.  
  128. PROCEDURE     FTExec(hFT : FTHandle);
  129.  
  130. PROCEDURE     FTActivate(hFT : FTHandle; activate: BOOLEAN);
  131. PROCEDURE     FTResume(hFT : FTHandle; resume: BOOLEAN);
  132. FUNCTION    FTMenu(hFT: FTHandle; menuID: INTEGER; item: INTEGER): BOOLEAN;
  133.  
  134. FUNCTION     FTChoose(VAR hFT: FTHandle; where: Point; idleProc: ProcPtr) : INTEGER;
  135. PROCEDURE     FTEvent(hFT: FTHandle; theEvent: EventRecord);
  136.  
  137. FUNCTION      FTValidate(hFT: FTHandle) : BOOLEAN;
  138. PROCEDURE     FTDefault(VAR theConfig: Ptr; procID: INTEGER; allocate: BOOLEAN);
  139.  
  140. FUNCTION      FTSetupPreflight(procID: INTEGER; VAR magicCookie: LONGINT): Handle;
  141. PROCEDURE     FTSetupSetup(procID: INTEGER; theConfig: Ptr; count: INTEGER; theDialog: DialogPtr;
  142.                 VAR magicCookie: LONGINT);
  143. FUNCTION      FTSetupFilter(procID: INTEGER; theConfig: Ptr;  count: INTEGER; theDialog: DialogPtr;  
  144.                 VAR theEvent: EventRecord; VAR theItem: INTEGER; VAR magicCookie: LONGINT) : BOOLEAN;
  145. PROCEDURE     FTSetupItem(procID: INTEGER; theConfig: Ptr; count: INTEGER; theDialog: DialogPtr; 
  146.                 VAR theItem: INTEGER; VAR magicCookie: LONGINT);
  147. PROCEDURE     FTSetupCleanup(procID: INTEGER; theConfig: Ptr; count: INTEGER; theDialog: DialogPtr;  
  148.                 VAR magicCookie: LONGINT);
  149. PROCEDURE     FTSetupPostflight(procID: INTEGER);
  150.  
  151. FUNCTION      FTGetConfig(hFT: FTHandle) : Ptr; 
  152. FUNCTION      FTSetConfig(hFT: FTHandle; thePtr : Ptr) : INTEGER;
  153.  
  154. FUNCTION     FTIntlToEnglish(hFT: FTHandle; inputPtr: Ptr; VAR outputPtr: Ptr;
  155.                     language: INTEGER) : OSErr; 
  156. FUNCTION     FTEnglishToIntl(hFT: FTHandle; inputPtr: Ptr; VAR outputPtr: Ptr; 
  157.                     language: INTEGER) : OSErr;
  158.  
  159. PROCEDURE     FTGetToolName(procID: INTEGER; VAR name: Str255);
  160. FUNCTION      FTGetProcID(name: Str255) : INTEGER;
  161.  
  162. PROCEDURE     FTSetRefCon(hFT: FTHandle; refCon: LONGINT);
  163. FUNCTION      FTGetRefCon(hFT: FTHandle) : LONGINT;
  164.  
  165. PROCEDURE     FTSetUserData(hFT: FTHandle; userData: LONGINT);
  166. FUNCTION      FTGetUserData(hFT: FTHandle) : LONGINT;
  167.  
  168. {$ENDC} {UsingFTIntf}
  169.  
  170. {$IFC NOT UsingIncludes}
  171.     END.
  172. {$ENDC}
  173.  
  174.